package com.ylbh.modules.shoppingcoupon.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.math.BigDecimal;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;

/**
 *
 * 商城优惠券
 * @author czx
 * @date 2019-10-30 13:52:37
 */
@Data
@TableName("shopping_coupon")
public class ShoppingCoupon implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 主键
	 */
	@TableId
	private String id;
	/**
	 * 编号
	 */
	private String code;
	/**
	 * 发布类型：1平台赠券 2消费赠券 3签到赠券
	 */
	private Integer releaseType;
	/**
	 * 赠券标准：平台赠券0/消费赠券是消费金额/签到赠券是连续签到的天数
	 */
	private String couponStandard;
	/**
	 * 领取方式：1手动领取 2自动领取
	 */
	private Integer wayOfReceiving;
	/**
	 * 优惠券名称
	 */
	private String title;
	/**
	 * 优惠券描述
	 */
	private String describe;
	/**
	 * 优惠类型：1金额优惠 2折扣优惠
	 */
	private Integer discountType;
	/**
	 * 优惠门槛：金额优惠=满的金额，折扣优惠=满的商品数量
	 */
	private BigDecimal full;
	/**
	 * 优惠金额：金额优惠=减的金额，折扣优惠=商品收费折扣
	 */
	private BigDecimal reduce;
	/**
	 * 适用人群：1全部用户 2新人专享 3会员 4联盟店 5合伙人 6运营商
	 */
	private Integer intendedFor;
	/**
	 * 有效期限类型：1指定的时间 2指定天数
	 */
	private Integer termType;
	/**
	 * 开始时间
	 */
	private String startTime;
	/**
	 * 结束时间
	 */
	private String endTime;
	/**
	 * 有效天数（用户领取成功之后开始计算）
	 */
	private Integer effectiveDays;
	/**
	 * 发行量
	 */
	private Integer circulation;
	/**
	 * 已领数量
	 */
	private Integer alreadyLedNumber;
	/**
	 * 剩余库存
	 */
	private Integer stock;
	/**
	 * 限领数量，不限领=0，限领输入没人限领数量
	 */
	private Integer limitCollarNumber;
	/**
	 * 适用范围：1全品类 2分类 3专题 单品
	 */
	private Integer scopeOfApplication;
	/**
	 * 适用来源ID（全品类默认1，分类/专题/单品关联Id）
	 */
	private String applicableSourcesId;
	/**
	 * 商品信息json
	 */
	private String goodsJson;
	/**
	 * 备注信息
	 */
	private String remarks;
	/**
	 * 删除标识：1已删除 0未删除
	 */
	private Integer deleteStatus;
	/**
	 * 启用标识：1启用 2未启用
	 */
	private Integer state;
	/**
	 * 创建时间
	 */
	private Date createTime;
	/**
	 * 创建者
	 */
	private String createUserId;
	/**
	 * 更新时间
	 */
	private Date updateTime;
	/**
	 * 更新者
	 */
	private String updateUserId;

}
